1. Field of the Invention
This invention pertains to removable rotating mass-storage drives for computers, and more specifically to mechanisms for ensuring that the user does not remove the drives from the computer until it is safe to do so.
2. Related Art
The use of removable computer mass-storage drives, particularly hard disk drives storing hundreds of megabytes, is growing in popularity. An important advantage of removable mass-storage drives is the ability to take large amounts of data from one computer to another and have the data be immediately usable without need of running a copying or backup program to put the data on the second computer's disks. Another advantage is that one can prevent tampering with the data in a computer by locking a removable mass-storage drive containing that data in a safe or drawer. Locking removable mass-storage drives is generally much easier and more convenient than locking away the computer itself.
Removable mass-storage drives are to be distinguished from drives (whether removable or not) having removable storage media. In a removable mass-storage drive, only the drive as a whole is removable. The magnetic or other media inside the drive is not itself removable without the remainder of the drive.
Although it has proven possible to design removable mass-storage drives which can withstand the ordinary shocks of being transported from one computer to another, rotating removable mass-storage drives can only be moved safely once they have stopped spinning. Moving the drives while they are still spinning risks damage to them. It typically takes tens of seconds for rotating mass-storage drives to "spin down." It is thus desirable to prevent users from removing rotating removable mass-storage drives while they are still spinning.
In older technology it was comparatively easy to provide this safety function. A locking mechanism actuated by a solenoid would keep the removable mass-storage drive from being pulled out whenever it was spinning. The user would press a button on the drive or on the drive housing to direct that the drive spin down. After this button was pressed, the drive would spin down and, following a certain preset time interval, the locking mechanism would release and let the user pull the drive out of the housing.
The development of ever-more sophisticated user interfaces, however, has made it desirable to move to a system in which the spinning down and locking function operates under software control. In a Macintosh computer in particular, users are accustomed to having their floppy disks and other removable storage media eject under software control. Instead of pressing an eject button on the floppy disk drive (as PC users do), Macintosh users use a mouse to operate on an icon on their screen which represents the floppy disk drive, overlaying that icon on another icon in the form of a trash can. They thereby cause software to command the drive to eject the floppy. To make this happen, the ejection function on the drive has to be under the control of operating system software on the Macintosh. An ejection function driven by the operating system software has a number of advantages. For example, with such a function software always knows when floppies are removed, and thus one does not get into situations where the software only notices the absence of a floppy long after it is gone and refuses to proceed until the user puts that floppy back, as certain PC software does.
Macintosh users who employ removable mass-storage drives, such as removable hard disk drives, want to be able to use a user interface for spinning down and removing those drives which is analogous to the user interface they employ for ejecting floppy disks and other removable media. Because of this demand for more sophisticated user interfaces to deal with removable mass-storage drives, the drives now have to spin down, not in response to the user pressing a button on the drive housing or on the drive itself, but in response to a command which comes over a bus from the computer. That bus may be, for example, the Small Computer Systems Interconnect (SCSI) bus. In response to that command, all the steps needed to bring the removable mass-storage drive to a state where the user can pull it out have to take place automatically. In particular, it is necessary that the locking mechanism, which prevents the user from removing the drive until it has spun down, operate in response to that command.
One solution to this problem is to have the electronics that operates the locking mechanism monitor the computer bus and respond to spin down commands which are asserted on that bus by the software. This solution, however, suffers from serious drawbacks. To begin with, while the removable mass-storage drives themselves contain complex electronics which can perform the actual spin down, the locking mechanism is normally part of the housing for the removable mass-storage drives and not part of the removable mass-storage drives themselves. That housing is often a box containing little more than mechanical support for the removable modules, a power supply, and various connectors. It does not normally contain the kind of comparatively expensive digital electronics which is needed to respond to bus commands over a bus such as the SCSI bus, and it would not be cost-effective to add such electronics just for the purpose of carrying out the locking and unlocking. A second important problem with this solution is that each drive which is connected onto a bus such as a SCSI bus creates loading on that bus, which consumes power and limits the possibility of connecting other devices to the bus. It is thus undesirable to connect the housing as an additional device on the bus and impose this burden on the bus simply in order to perform the locking and unlocking function.